perm filename LOOKF.FAI[PUR,LCS] blob sn#249471 filedate 1979-07-23 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		TITLE LOOK  ********* NOV, 76 *********
C00006 ENDMK
C⊗;
	TITLE LOOK ; ********* NOV, 76 *********
	INTERNAL LOOK,LOOKD,LOOKF
	INTERNAL FORNAM     ;USE THIS TO SET NAME.EXT FOR FORTRAN READING OR
	EXTERNAL FILES.	    ;WRITING ON DSK (DEV.1 ONLY!)


	CH3←15	;WAS ←13  4/18/75 *******

DEFINE ERROR (MSG)
<	JSA 16,.ERROR
	JUMP [ASCIZ/MSG/
]
>


LKUP:	0
	SETZM DIR+2
	SETZM DIR+3
	LOOKUP CH3,DIR
	JRA 16,0(16)
	JRA 16,1(16)

INTFIZ:	0	;INITS DSK FOR INPUT
	MOVEI REGS
	BLT REGS+3
	INIT CH3,17
	SIXBIT/DSK/
	0
	ERROR <CAN'T INIT DSK!>
	JRST INTF4



COM:	OCT 0,0
BLKNUM:	0

.ERROR:	0
	OUTSTR [ASCIZ/?
/]				;MAKE SURE HE CAN SEE HIS ERROR
	OUTSTR @(16)		;OUTPUT ERROR MESSAGE
	CALLI 1,12		;LET USER CONTI2UE
	JRA 16,1(16)

	CH←13

REGS:	BLOCK 20

;LOOK(<FILE>) FOR NO EXT., LOOKD() FOR .DMD, LOOKF() FOR .FUN

LOOKF:	0
	MOVSI 0,'FUN'
	JRST LOOK1
LOOKD:	0
	MOVSI 0,'DMD'
	JRST LOOK1
LOOK:	0
	MOVEI	0,0
LOOK1:	MOVEM	0,DIR+1
	MOVE	0,@(16)
	MOVEM 	0,FILNAM
	JSA 16, INTFIQ
	SETZM	DIR+2
	SETZM	DIR+3
	LOOKUP	CH,DIR
	TDZA	0,0
	MOVNI	0,1
	JRA 16,1(16)

INTFIQ:	0	;INITS DSK FOR INPUT
	MOVEI REGS
	BLT REGS+3
	INIT CH,17
	SIXBIT/DSK/
	0
	HALT .-3
;	ERROR <CAN'T INIT DSK!>

INTF4:	MOVE 0,FILNAM#
	MOVEM 0,FN#
	MOVE 1,[POINT 7,FN]
INTF3:	MOVE 2,[POINT 6,DIR]
	SETZM DIR
	MOVEI 3,5
INTF1:	ILDB 0,1
	CAIN 0," "
	JRST INTF2
	SUBI 0,40
	IDPB 0,2
	SOJG 3,INTF1
INTF2:	HRLZI REGS
	BLT 3
	JRA 16,0(16)

DIR:	BLOCK 4

FORNAM:	0	 	; CALL FORNAM(<FILE NAME>,<EXTENSION>)
	MOVE 0,@0(16)
	MOVEM 0,DIR
	MOVE 1,[POINT 7,DIR]
	MOVE 2,[POINT 6,FILES.]
	SETZM FILES.
	MOVEI 3,5
NAM1:	ILDB 0,1
	CAIN 0," "
	JRST NAM2
	SUBI 0,40
	IDPB 0,2
	SOJG 3,NAM1
NAM2:	MOVE 0,@1(16)
	MOVEM 0,FN
	MOVE 1,[POINT 7,FN]
EXTF3:	MOVE 2,[POINT 6,FILES.+1]
	SETZM FILES.+1
	MOVEI 3,5
EXTF1:	ILDB 0,1
	CAIN 0," "
	JRA 16,2(16)
	SUBI 0,40
	IDPB 0,2
	SOJG 3,EXTF1
	JRA 16,2(16)
	END